Delivery of non-multimedia content via a standardized network architecture

ABSTRACT

Non-multimedia information may be produced from devices such as alarms, appliances, automobiles, building systems, weather stations, home automation systems, and the like. A method and devices communicate non-multimedia content via a standardized network architecture. Non-multimedia data is received from a remote device with a standardized network aliasing device. The standardized network aliasing device is able to communicate on a network that conforms, for example, to a Digital Living Network Alliance (DLNA) protocol. The non-multimedia data is formatted with the standardized network aliasing device into a standardized-format file. The standardized-format file conforms to a selected media class. The standardized-format file is exposed on the network that conforms to the DLNA protocol and communicated to a remote DLNA-enabled device that is also coupled to the network that conforms to the DLNA protocol.

BACKGROUND

Technical Field

The present disclosure generally relates to the generation of multimediacontent by a non-multimedia device and more particularly, but notexclusively, relates to outputting the generated multimedia content witha device that conforms to a Digital Living Network Alliance (DLNA)standard.

Description of the Related Art

The Digital Living Network Alliance (DLNA) is an organization ofelectronic device manufacturers. The DLNA organization was originallyformed in 2003 to create a common, standards-based structure throughwhich consumers of digital, multimedia content (e.g., photos, music, andvideos) could share the content amongst a variety of networkedelectronic devices. The standards are generally directed towardhome-based networks to which the electronic devices are coupled. Theelectronic devices are enabled to generate, consume, and communicatemultimedia content.

A manufacturer may submit a device for a certification that the deviceis compliant with the DLNA organization's “DLNA Networked DeviceInteroperability Guidelines.” Volume 1 of the Guidelines covers“Architectures and Protocols.” Volume 2 of the Guidelines covers “MediaFormat Profiles.” If a device passes DLNA compliance testing, themanufacturer can submit a license request for the device to carry a DLNAcertification mark.

A DLNA system is built on the well known Universal Plug and Play (UPnP)network architecture. UPnP architecture includes established networkprotocols that permit a wide range of electronic devices (e.g., personalcomputers, storage devices, scanners, printers, Internet gateways, Wi-Fiaccess points, mobile devices, game systems, media content servers,mobile phones, media players, cameras, and the like) to efficientlydiscover each other's presence on the network with little or no userintervention (i.e., automatic, zero-configuration, “invisible”networking). Once discovered, the devices are permitted to use a commonset of functional network services to share information about theircapabilities and their data. Accordingly, a UPnP device can dynamicallyjoin a network, obtain an Internet Protocol (IP) address, convey itscapabilities, and learn about the presence and capabilities of otherdevices. A UPnP device can also be removed from the network abruptly orgracefully without leaving any unwanted state artifacts behind.

UPnP infrastructure standards are promoted by the UPnP Forum, which isan initiative of computing industry hardware, software, and computingservice providers to enable easy connectivity between thenetwork-enabled devices of hundreds of different vendors. UPnP ispresently published as a multi-part international standard, ISO/IEC29341-1:2011. The standard continues evolve.

UPnP is intended primarily but not exclusively for ad hoc, unmanagednetworks such as those typically formed as a residential network in ahome, a small business, or in a public space. The network can be closedor open (i.e., attached to the Internet). The network can include wiredand wireless communication paths.

UPnP technology leverages TCP/IP and other conventional Web technologiesto enable seamless “plug-and-play” networking. Some technologies foundin UPnP architecture networks include Internet protocols such as IP,TCP, UDP, HTTP, XML, and SOAP. If available, Dynamic Host ConfigurationProtocol (DHCP) and Domain Name System (DNS) servers may optionally alsobe used.

In addition to conformance with a UPnP network, a DLNA compliant systemmay optionally include one or more home network devices, mobile handhelddevices, and home infrastructure devices that each conform to one of aplurality of certified device classes. Recognized DLNA device classesand some exemplary DLNA-enabled devices are listed in Table 1.

TABLE 1 DLNA Device Classes & Exemplary Devices Home Network Device(HND) Category Digital Media Server DMS Personal computer (PC), NetworkAttached Storage Device (NAS), DVD or Blu-Ray player, set top boxDigital Media Player DMP Certain televisions, home theater systems, gameconsoles Digital Media Renderer DMR Certain televisions, audio/videoreceivers, remote speakers, surround sound systems, digital photo frameDigital Media Controller DMC Intelligent remote control, smartphone ortablet having particular software application Digital Media Printer DMPrCertain photo or all-in-one printers Mobile Handheld Device (MHD)Category Mobile Digital Media Server M-DMS Smartphones, portable mediaplayers Mobile Digital Media Player M-DMP Smartphones, tablet devices,portable media players Mobile Digital Media Controller M-DMC Smartphone,tablet Mobile Digital Media Uploader M-DMU Digital camera, camcorder,smartphone, tablet Mobile Digital Media Downloader M-DMD Portable musicplayer, smartphone, tablet, Home Interoperability Device (HID) CategoryMobile Interoperability Unit MIU Customized tools Mobile NetworkConnectivity M-NCF WiFi Access Point Function

Digital Media Servers (DMS) store multimedia content and make thecontent available via the UPnP network to DMP devices, M-DMP devices,DMR devices, and DMPr devices.

A Digital Media Player (DMP) locates multimedia content offered by a DMSor an M-DMS and consumes the content by “playing it” (e.g., playing asong file) or “rendering it” (e.g., displaying an image file).Typically, a DMP is not visible to other devices on the network such asa DMC or an M-DMC because a DMP device does not store or produce contentto be shared.

Digital Media Renderer (DMR) products are similar to DMPs in that theyrender or play content received from a DMS or an M-DMS. Generallyspeaking, however, a DMR is unable to find content on the networkautomatically. Instead, a DMR must be set up by a DMC or an M-DMC. Acombination DMP/DMR device can either find a DMS on its own to retrievemultimedia content or DMP/DMR device can be controlled by an externalDMC or M-DMC.

Digital Media Controller (DMC) devices find multimedia content shared bya DMS or an M-DMS and match the content to the rendering capabilities ofa DMR. The DMC device then sets up a connection between the DMS and DMR.

Digital Media Printers (DMPr) provide printing services for devices onthe DLNA network. For example, photos can be printed with a DMPr, but afacsimile or email capability may also be included in a DMPr. Someexamples of DMPr devices include a networked photo printer and anetworked all-in-one printer.

The device classes in the MHD category are mobile counterparts to theDMS, DMP, DMR, and DMC device classes of the HND category. For example,Mobile Digital Media Servers (M-DMS) store multimedia content and makethe content available in a manner along the lines of a DMS. MobileDigital Media Players (M-DMP) find content offered by a DMS or M-DMS andprovide playback and rendering capabilities. M-DMPs are generally notvisible to other devices on the network such as Digital MediaControllers (DMC). Mobile Digital Media Controllers (M-DMC) findmultimedia content offered by a DMS or an M-DMS and match the content tothe rendering capabilities of a DMR, setting up the connections betweenthe server and renderer. A Mobile Digital Media Uploader (M-DMU) devicehas with upload functionality. The M-DMU sends content to a DMS or anM-DMS. A Mobile Digital Media Downloader (M-DMD) device can play thedownloaded multimedia content locally on the M-DMD. The M-DMD finds anddownloads multimedia content exposed by a DMS or an M-DMS. A portablemusic player is an example of a M-DMD device. The mobile class (M-DMS,M-DMP, M-DMC, M-DMU, M-DMD) devices typically support formats moreclosely aligned with conventional mobile protocols, standards, andpractices.

The Home Infrastructure Device (HID) category includes a translationdevice class and bridging device class. A Mobile Interoperability Unit(MIU) device provides reformatting of media content between HND (home)devices (DMS, DMP, DMC, DMU, DMD, DMPr) and MHD (mobile) devices (M-DMS,M-DMP, M-DMC, M-DMU, M-DMD) when such conversions are necessary. MobileNetwork Connectivity Function (M-NCF) devices are used to connect thehome network with the mobile device. In some cases, the M-NCF devicesprovide a WiFi (e.g., IEEE 802.11 based wireless connectivity) interfacebetween the home network and the wireless device.

The devices of a DLNA system can share multimedia content of the typesprovided in Volume 2 of the DLNA Networked Device InteroperabilityGuidelines, Media Format Profiles. The content is encoded and formattedin explicit detail for three Media Classes (Image, Audio, andAudio-Visual). Profiles for the classes include detailed attributes,parameters, system-level details, compression-level details and the liketo ensure interoperability between DLNA-certified devices. In additionto some mandatory formats, other optional formats are also defined inthe Interoperability Guidelines standard and some manufacturersoptionally support yet additional multimedia formats for photos, music,and video. Table 2 identifies the mandatory formats and some exemplaryoptional formats for each media class.

TABLE 2 DLNA Media Classes and Mandatory & Optional Formats MandatoryMedia Class Format Optional Format Image JPEG PNG, GIF, TIFF, MPO AudioLPCM AC3, AAC, MP3, WMA9, ATR AC3+ Audio/Video MPEG-2 MPEG-1, MPEG-4,VC1, MPV1, Xvid, DivX, WMV, AVCHD

FIG. 1 is a conventional DLNA system 10. A Universal Plug and PlayNetwork (UPnP) 12 permits the communicative coupling of a plurality ofDLNA-enabled devices. Included in the network 12 are a smart TV 14, areceiving device 16 (e.g., set top box), a media player 18, a wireless(WiFi) router 20, a media server 22, a desktop or other conventionalcomputer 24, a printer 26, a portable (e.g., laptop) computer 28, avideo camera 30, a digital still camera 34, a gaming device 36, and anaudio system 38 (e.g., surround sound).

In the embodiment, the receiving device 16, media server 22, computer24, and laptop 28 are configured as DLNA digital media server (DMS)devices. The DMS devices each have the capability to store image, audio,and audio/video media that is consumable by a various digital mediaplayer (DMP) devices and digital media renderer (DMR). The computer 24and laptop 28 are further configured as digital media controller devices(DMC). That is, the computer 24 and laptop 28 are configured to set upand find content hosted on the network by a DMS device that matches therendering capabilities of a particular DMR device. The computer 24 andlaptop 28 set up a DLNA connection between a DMS device and theparticular DMR device.

Still considering FIG. 1, the TV 14 and gaming device 36 are DMPdevices. The audio system 38 is a DMR device directed by one or more DMCdevices to play audio content, and the printer 26 is a digital mediaprinter (DMPr) that is also directed by a DMC device to print certaintypes of DLNA media class content. The media player 18, video camera 30,and digital still camera 34 are mobile devices that also serve content(M-DMS) to DLNA enabled devices. The mobile devices are coupled to thenetwork 12 via WiFi router 20.

BRIEF SUMMARY

A new Digital Living Network Alliance (DLNA) aliasing apparatus operatesin conjunction with a communications network coupling DLNA capabledevices. The DLNA aliasing apparatus provides a DLNA interface and anon-DLNA interface. DLNA compatible devices may operate to retrieve datafrom the DLNA aliasing apparatus. Alternatively or in addition, DLNAcompatible devices may operate to send data to the DLNA aliasingapparatus. The DLNA aliasing apparatus also may retrieve data andalternatively or in addition send data to a non-DLNA compatible device.The communication of data between the DLNA aliasing apparatus and thenon-DLNA compatible device may be via the network or via some othercommunication medium.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments are described with referenceto the following drawings, wherein like labels refer to like partsthroughout the various views unless otherwise specified. The sizes andrelative positions of elements in the drawings are not necessarily drawnto scale. For example, the shapes of various elements are selected,enlarged, and positioned to improve drawing legibility. The particularshapes of the elements as drawn have been selected for ease ofrecognition in the drawings. One or more embodiments are describedhereinafter with reference to the accompanying drawings in which:

FIG. 1 is a conventional DLNA system;

FIG. 2 is a DLNA-enabled home network embodiment incorporating a DLNAaliasing device;

FIG. 3 is a block diagram of the DLNA aliasing device of FIG. 2;

FIG. 4 illustrates a DLNA interface embodiment in more detail;

FIG. 5 illustrates a non-DLNA interface embodiment in more detail;

FIG. 6 is a detailed embodiment of aliasing logic;

FIG. 7 illustrates a non-limiting collection of electronic devices thatdo not have a DLNA interface; and

FIG. 8 is a flowchart representing a system that includes operations ofat least one DLNA-enabled device, at least one DLNA aliasing device, andat least one electronic device.

DETAILED DESCRIPTION

The conventional devices and methods used to build and operate DLNAnetworks of the type presented in FIG. 1 are restricted to well-definedcomputing devices. The devices of many different manufacturersinteroperate with little or no direct collaboration between themanufacturers, but the DLNA-enabled devices available today are lacking.

The present disclosure provides new Digital Living Network Alliance(DLNA) devices and new methods to communicate with the new DLNA devices.Generally speaking, the new DLNA devices are configured to generate orcapture non-DLNA content and transform that content for playback,rendering, discovery, and sharing with a conventional DLNA-enableddevice. A DLNA-aliasing device is discoverable on a network (e.g., aUniversal Plug and Play (UPnP) network) of a DLNA system. In some cases,the aliasing device appears as a DLNA aliasing server (DAS), and inother cases, the aliasing device appears on the network as a DLNAaliasing controller (DAC). In still other cases, the aliasing device canappear on the network as a DLNA aliasing player (DAP) or renderer (DAR).The DLNA aliasing device can also appear as a mobile device. When thealiasing device is discovered on the network, the aliasing deviceappears to other DLNA-enabled devices to be one of their own.

FIG. 2 is a DLNA-enabled home network system 100 embodimentincorporating a DLNA aliasing device 200. The home network 112 isconforms to a Universal Plug and Play (UPnP) network standard or someother standard compatible with DLNA devices. In the embodiment of FIG.2, the home network 112 includes wired and wireless functions, but inother embodiments, the network devices may be communicatively coupledexclusively via wired or wireless connections. In the embodiment of FIG.2, one or more wireless networking devices 120 facilitate wirelesscommunications of the network devices.

The DLNA-enabled home network system 100 embodiment of FIG. 2 alsoincludes an electronic device 300. The electronic device 300 has anelectronic interface that facilitates communication between theelectronic device 300 and other electronic devices. In the embodiment ofFIG. 2, which is non-limiting, the electronic device 300 is a wirelesshome weather station. The electronic device 300 may optionally includean interface to communicate via the home network 112. Alternatively, orin addition, the electronic device 300 may optionally include aninterface to communicate directly with the DLNA aliasing device 200.

In FIG. 2, the electronic device 300 interfaces with the outside worldin one or more ways. For example, the weather station electronic device300 may receive weather related data from temperature sensors, humiditysensors, barometric pressure sensors, wind speed sensors, wind directionsensors, altimeters, motion sensors, and the like. The weather stationelectronic device 300 may be a single unit, or alternatively, theweather station electronic device 300 may comprise remote or otherwiseseparate sensors and weather data generating elements.

The weather station electronic device 300 generally includes computerprocessing capabilities for administering the device. For example, theweather station electronic device 300 may be able to gather data andpredict a weather pattern based on the data.

The weather station electronic device 300 typically includes a userinterface to provide, for example, information to users of the stationsuch as temperature or a predicted weather pattern. In some cases, theuser interface is a display or audio output device. In other additionalor alternative cases, the user interface is a communication interface toan Internet server. In these cases, the weather data may be usedindependently or with other data collected from other weather stationdevices to populate a website with weather related information.

The weather station electronic device 300 includes a communicationinterface. The communication interface may be incorporated into the userinterface or may be distinct from the user interface. The communicationinterface provides for passage of data to and/or from the weatherstation electronic device 300. In one example, an external electronicdevice communicates with the weather station electronic device 300 torequest weather related data. The weather station electronic device 300provides the weather related data to the external electronic device.

Turning back to FIG. 2, a non-limiting example of the DLNA-enabled homenetwork embodiment 100 is described. The electronic device 300 is aweather station electronic device. In the embodiment, a user (not shown)is watching television programming on a smart TV 114. The smart TV 114is a DLNA-enabled device configured as a digital media renderer/player(DMR/DMP). The user is interested in the local weather. The smart TV isunable to access any information directly from the weather stationelectronic device 300 because the weather station electronic device 300is not DLNA-enabled. Nevertheless, the user is able to access data fromthe weather station electronic device 300 via the DLNA aliasing device200.

The DLNA aliasing device 200 has a DLNA interface. The DLNA aliasingdevice 200 is presented on the home network 112 as a digital mediaserver (DMS) having data files to share. In this case, the data filesare snapshot image files of weather related data. Via the smart TV 114,the user sees a file system that includes a “current weather” image fileconforming to a Joint Photographic Experts Group (i.e., JPEG, JPG, etc.)format. When the user directs his smart TV 114 to display the currentweather JPEG file, the snapshot is rendered on the smart TV 114 screen.

The current weather JPEG file is generated by the DLNA aliasing device200. Via a second non-DLNA interface, the DLNA aliasing device 200establishes a communication link with the weather station electronicdevice 300 and retrieves various static weather related datums. The DLNAaliasing device 200 converts the retrieved data into a multimedia formatfile such as the current weather JPEG file. The DLNA aliasing device 200further exposes the created file for sharing via a DLNA protocol, whichis the mechanism used by the smart TV 114 to recognize and retrieve thefile for display to the user.

FIG. 3 is a block diagram of the DLNA aliasing device 200 of FIG. 2. Acentral processing unit (CPU) 202 controls the operations of the DLNAaliasing device 200. The DLNA aliasing device 200 further includes amemory 204. In whole or in part, the memory 204 may be considered anon-transitory computer readable medium. Accordingly, the CPU 202 may beconfigured to read computer executable instructions and data from thememory or some portion thereof, and the instructions may be executed bythe CPU 202. The executed software instructions direct the operations ofthe DLNA aliasing device 200.

Memory 204 is illustrated in FIG. 3 having included therein a filesystem 206 and a data repository 208. Other memory structures may alsobe included in memory 204. Memory 204 is configured such that one ormore electronic devices may store and retrieve electronic data (e.g.,software executable instructions, electronic data, and the like).

File system 206 provides an architected means of storing data in one ormore organized “directories,” “folders,” and “files.” The file system206 may be used by the CPU 202 to store and retrieve electronic data orexecutable software instructions that are stored in a file format. Thefile system 206 further permits exposure of multimedia content toDLNA-enabled devices on a network.

Data repository 208 can be used to store multimedia files among otherthings. The multimedia files include files that conform to the mandatoryformats of the DLNA protocol. For example, JPEG image files, LPCM audiofiles, and MPEG audio/video files may be stored in the repository 208.Alternatively, or in addition, files of other formats may also be storedin the repository 208. The “other” files may include image files havingPNG, GIF, TIFF, MPO, PS, and other formats, audio files having AC3, AAC,MP3, WMA9, ATR AC3+ and other formats, and audio/video files havingMPEG-1, MPEG-4, VC1, MPV1, Xvid, DivX, WMV, AVCHD, and other formats.The “other” files may also include HTM, HTML, SWF, EXE, and other filesfound on Internet servers, DOC, PDF, PPT, TXT, and other documentpresentation files, BAS, C, CPP, PY, RPY, XML, GEM, and other computerprogramming files, and files of many other formats.

External electronic devices may write data files, including data filesthat conform to a DLNA-acceptable format, to the DLNA aliasing device200. The data files are transferred into the DLNA aliasing device 200and stored in the data repository 208. The stored files can bemanipulated, stored, retrieved, and edited via the file system 206.

External electronic devices may read data files, including data filesthat conform to a DLNA-acceptable format, from the DLNA aliasing device200. The data files are retrieved from the data repository 208 andtransferred out of the DLNA aliasing device 200 to the externalelectronic device.

Computer software instructions that are executable by CPU 202 are storedin memory 204. The executable instructions may direct the CPU 202 topass data into and out of the DLNA aliasing device 200.

The DLNA aliasing device 200 of FIG. 3 includes one or more input/outputinterfaces. The interfaces may be wired or wireless interfaces. Theinterfaces may conform to a direct peer-to-peer standardized protocolsuch as digital video interface (DVI), high definition multimediainterface (HDMI), video graphics array (VGA), IEEE 1394 (FireWire), orsome other peer-to-peer protocol. The interfaces may conform to anetwork protocol such as an Open Systems Interconnect (OSI, ISO/IEC7498-1) seven layer protocol, universal serial bus (USB), or some otherprotocol. The interfaces may also conform to a proprietary or lesserknown, standardized or un-standardized protocol. The interfaces maycommunicate data via a network formed with devices such as the network112 and the wireless networking device 120 of FIG. 2, and alternativelyor in addition, the interfaces may communicate data via another typedevice.

One interface included in the DLNA aliasing device 200 of FIG. 3 isnetwork interface 210. Network interface 210 in the embodiment of FIG. 3conforms to an OSI model. The network interface 210 in the embodiment ofFIG. 3 further conforms to a UPnP protocol. The physical layer ofnetwork interface 210 may be wired (e.g., IEEE 802.3 wired local areanetwork (LAN)) or wireless (e.g., IEEE 802.11 wireless). In someembodiments, network interface 210 is the only input/output interface ofthe DLNA aliasing device 200. In such cases, communications withmultiple devices can be independently conducted via the networkinterface 210. In other embodiments, the DLNA aliasing device 200 alsoincludes other input/output interfaces; however, communications withmultiple devices can still be conducted via the network interface 210.

A second interface included in the DLNA aliasing device 200 embodimentof FIG. 3 is DLNA interface 212. Interface 212 exposes the DLNA aliasingdevice 200 as a DLNA-enabled device to other DLNA-enabled devices. Forexample, the DLNA interface 212 may make the DLNA aliasing device 200appear on a network to be a DMS, DMP, DMR, DMC, DMPr, or some other DLNAtype of device.

Typically, the DLNA aliasing device 200 communicates with theDLNA-enabled devices over a UPnP network accessed through networkinterface 210. Optionally, the DLNA aliasing device 200 may in additionor in the alternative communicate with another DLNA-enabled devicethrough DLNA interface input/output port 214.

The DLNA interface 212 provides the framework to form and interpret DLNAmessages and data packets. When another DLNA-enabled device sendsinformation that is received by the DLNA aliasing device 200, the DLNAinterface 212 is able to interpret the data bits of the received messageand recognize the message as one that follows a DLNA protocol. Theinterpretation may involve grouping certain ones of the bits together torecognize certain device discovery and control structures defined by theDLNA protocol. In some cases, for example message acknowledgements, theDLNA interface 212 is arranged to recognize that a full message has beenreceived and the interface 212 may automatically form and transmit anacknowledgement to the sending DLNA device.

The DLNA interface Input/Output (I/O) port 214 may be an electroniccommunications port directly connected to another DLNA device. The DLNAinterface I/O port 214 may be a port connected to another network or toeven the same network that network interface 210 is connected to. TheDLNA interface I/O port 214 may be wired or wireless. For example, theDLNA interface I/O 214 port may conform to a multimedia protocol such asHDMI, DVI, or VGA. The DLNA interface I/O port 214 may conform toanother type of multimedia or flexible communications protocol such asUSB, IEEE 1394, IEEE 802.3, IEEE 802.11, RS-232, RS-422, RS-485,Infrared, or Bluetooth. In fact, the DLNA interface I/O 214 port mayconform to any serial, serialized, or parallel communications protocolthat is permitted by the Digital Living Network Alliance standard tocarry DLNA communications.

The DLNA aliasing device 200 embodiment of FIG. 3 includes a thirdinterface, non-DLNA interface 216. Non-DLNA interface 216 is provided topass control and data information between the DLNA aliasing device 200and one or more other electronic devices. The non-DLNA interface 216 maybe coupled to the UPnP network through network interface 210. In otheradditional or alternative cases, the non-DLNA interface 216 may providedifferent connection capabilities through a non-DLNA interface I/O port218.

The non-DLNA interface 216 may be configured to communicate with aparticular external electronic device such as a particular type ofweather station or family of weather stations. Alternatively, thenon-DLNA interface 216 may be configured to communicate with many typesof external electronic devices. In some cases, the non-DLNA interface216 can automatically determine the type of external electronic devicethat is communicably coupled. In other cases, a user may provide inputto direct the non-DLNA interface 216 as to the type of device that iscommunicably coupled. In still other embodiments, the DLNA aliasingdevice 200 may permit the non-DLNA interface 216 to be programmed tocommunicate with a particular type of external electronic device.Electronic devices coupled to the non-DLNA interface 216 are notDLNA-enabled devices.

The non-DLNA interface I/O port 218 is an electronic communications portthat may be coupled to a non-DLNA-enabled electronic device. Thenon-DLNA interface I/O port 218 may be connected to a network (i.e., thesame or a different network that network interface 210 is connected to).The non-DLNA interface I/O port 218 may be wired or wireless. Thenon-DLNA interface I/O port 218 port may conform to a multimediaprotocol such as HDMI, DVI, or VGA. The non-DLNA interface I/O port 218may conform to another type of multimedia or flexible communicationsprotocol such as USB, IEEE 1394, IEEE 802.3, IEEE 802.11, RS-232,RS-422, RS-485, Infrared, Bluetooth, I²C, SPI, PCI, CAN, or some otherprotocol. In fact, the non-DLNA interface I/O port 218 may conform toany serial, serialized, or parallel communications protocol.

In many cases, the non-DLNA interface I/O port 218 is formed with atraditional serial port driven by a universal asynchronousreceiver/transmitter (UART). In many other cases, the non-DLNA interfaceI/O port 218 is formed with a set of general purpose I/O (GPIO) pinsthat are desirably configured as data pins, clock pins, control pins,power pins, or the like.

Aliasing logic 220 is arranged to coordinate the passage of informationbetween a DLNA interface 212 and a non-DLNA interface 216. The Aliasinglogic 220 may include modules having electronic circuitry, softwarefunctionality, or some combination of both.

In one simple case, aliasing logic 220 is configured to pass a filebetween a non-DLNA device and a DLNA device. In such a case, the filehas a DLNA acceptable format. The aliasing logic 220 is directed to passthe file from one device to another. Accordingly, the aliasing logic 220retrieves the file via one of the DLNA interface 212 and the non-DLNAinterface 216 and passes it to the other interface. Retrieving the filemay include formatting packets and/or messages to request the file,transmitting the packets and/or messages, receiving information back,and isolating the file from within the received information. Theisolated file is then re-packaged according to the nature of thereceiving device and transmitted to the device that is to receive thefile.

In other cases, the electronic device connected through the non-DLNAinterface 216 is not a file-based device or is configured to work withfiles that are not DLNA compatible. In such cases, the CPU 202 mayexecute formatting software modules (e.g., software routines,instructions, and the like) to particularly format communications withthe external device such that data or other information is communicated.

A media creation module 222 is included in the DLNA aliasing device 200illustrated in FIG. 3. The media creation module 222 may include moduleshaving electronic circuitry, software functionality, or some combinationof both electronic circuits and software. A media creation module 222 isconfigured to arrange data into a format that is compatible with a DLNAdevice.

In one embodiment, a media creation module 222 is configured to processstatic data that has been retrieved from an external non-DLNA type ofdevice. For example, if the non-DLNA electronic device is a weatherstation, the static data may include such data as a time stamp,temperature, humidity, barometric pressure, wind speed, wind direction,predicted weather, and the like. From the static data, the media creator222 may create or update a data file having a JPEG format. The mediacreator may generate image type data for background graphics, icons,symbols, and the like, and the media creator may format a single staticdatum or more of the retrieved static data into the JPEG file. In thismanner, the static data from the weather station (or other electronicdevice) is converted into a multimedia format file, which can be sharedwith and rendered on a DLNA-enabled device.

The media creation module 222 in some cases is dedicated to a singlefunction. For example, the media creation module 222 may be dedicated toformatting data into a file having a JPEG format. Alternatively, themedia creation module 222 in some cases is configured to create files ofmany different formats. For example, if the external non-DLNA electronicdevice is an alarm system, an image file (e.g., JPEG, GIF, etc.) filemay be created that shows the status of individual sensors in thesystem, history of triggered alarm sensors, a current status of thesystem, or some other static data. Alternatively, or in addition, themedia creation module 222 may format audio data retrieved from the alarmsystem into a file wherein the audio data is live or recorded audiocaptured from the alarmed premises. The created audio file may have anLPCM, AC3, MP3, or some other format. In still another case, the mediacreation module 222 may retrieve audio/video data from the alarmedpremises. In this embodiment, if the alarm system includes one or morecameras, the retrieved data may be audio/video data that is formatted bythe media creation module 222 as an MPEG file, WMV file, or multimediafile of some other format.

In some cases, the media creation module 222 is a standalone module thathas powerful encoding/decoding capabilities. In other cases, the mediacreation module 222 shares electronic and computing resources with otherfunctions in the DLNA aliasing device 200. The external electronicnon-DLNA device may be very sophisticated and arranged to produce a highvolume of data. in such cases, the media creator 222 works to captureand reformat some or all of the high volume of data for sharing andconsumption by a DLNA-enabled device.

In some embodiments, the media creation module 222 is configured toprocess data that is already in a DLNA acceptable format. The mediacreator 222 in these cases converts the data into a non-DLNA format. Theconverted data may then be communicated to one or more externalelectronic non-DLNA devices.

For example, an external electronic non-DLNA device is an appliance(e.g., oven, refrigerator, stove top, humidifier, de-humidifier, fan,air conditioner, HVAC system, etc.). The appliance is programmable, butnot arranged with any compatibility to a DLNA system. In one case, auser of a DLNA-enabled smartphone creates an audio file having an MP3format. The audio file is retrieved by the DLNA aliasing device 200,converted by a speech-to-text engine in the media creation module 222into textual commands. The commands are then reformatted intoinstructions directed to the particular appliance, and the instructionsare communicated to the appliance, which operates according to theinstructions.

In another example, the external electronic non-DLNA device is anautomotive device, a home security system, or some other device that isassociated with a particular user. In this case, a snapshot, video, oraudio-video file is created with a DLNA-enabled table or other device.The file or files may further include information such as a time stamp,bio-metric data, recorded password or other security information. Whenthe file or files are passed into the DLNA aliasing device 200, themedia creation module 222 may use image recognition modules,audio-to-text modules, or other interpretive functions to generateinformation that expressly identifies the particular user. Theidentification information can then be used to generate commands or datato control or direct the external non-DLNA device. If the device is acar, the car may be directed to remotely start its engine. If the carhas a GPS device, the retrieved data may be a map that is interpretedand passed as coordinates to the GPS device. If the device is a securitysystem, the identity of the user may be used to enable the system,disable the system, or perform some other function.

FIG. 4 illustrates a DLNA interface 212 embodiment in more detail. DLNAinterface 212 is comprised of modules and sub-modules. The modules andsub-modules are formed as either physical modules that include shared ordedicated hardware circuits (and possibly software) or logical modulesformed in software. In both cases, the modules and sub-modules arearranged in cooperation to carry out the functions of the DLNA interface212.

Two modules in the DLNA interface 212 are an I/O port communicationsdriver 224 and a network communications driver 226. The I/O portcommunications driver 224 is an abstraction layer that controls theoperations of the DLNA interface I/O port 214. The networkcommunications driver 226 is an abstraction layer that controls datacommunication through the network interface 210. The operative drivers224, 226 of the respective ports permit data to be communicated throughthe DLNA interface 212. The I/O port communications driver 224 and thenetwork communications driver 226 each provide a common interface orapplications programming interface (API) to higher level functionswithin the DLNA interface 212. The I/O port communications drivercontrols the DLNA interface I/O port 214, which may conform to anyserial, serialized, or parallel communications protocol. The networkcommunications driver 226 provides a mechanism to cooperate with thenetwork interface 210.

The DLNA aliasing device 200 can expose itself on a UPnP network as aDLNA device. Typically, this functionality is carried out through thenetwork interface 210. In some cases, however, this functionality may becarried out through the I/O port 214. In one case, the DLNA aliasingdevice 200 does have network interface 210, but the device 200 does havea USB port (e.g., I/O port 214). In such a case, the USB port may becoupled to an external Ethernet-over_USB device, which providesconnectivity to an Ethernet-based UPnP network. In another case, whereinthe DLNA standard has evolved to include network connectivity via anon-Ethernet based protocol, the I/O port 214 is configured tocommunicate DLNA formatted messages through the I/O port 214.

One or more of six optional “personality” modules 228-238 areillustrated in the DLNA interface 212 embodiment of FIG. 4. The DLNAaliasing device 200 can take on the personality of one or more of theDLNA device classes by sending and/or receiving DLNA messages accordingto the particular personality of the aliased DLNA device type (i.e.,DLNA device class).

In FIG. 4, for example, a media server interface 228 can be configuredto make the DLNA aliasing device 200 appear on the network as a DLNAmedia server (DMS) device. Through the media server interface 228, whichis configured to arrange, transmit, receive, and parse DLNA DMSmessages, an external DLNA device would communicate with the DLNAaliasing device 200 as if the DLNA aliasing device 200 was a DMS device.In a similar manner, the DLNA aliasing device 200 is able to source orsink DLNA media files by optionally appearing as a DMP device via themedia player interface 230, a DMR device via the media rendererinterface 232, a DMC device via the media controller interface 234, or aDMPr device via the media printer interface 236. In other cases, theDLNA aliasing device 200 may also appear as some other type of DLNAdevice (e.g., M-DMS, M-DMP, M-DMC, M-DMU, M-DMD, MIU, M-NCF, and thelike) by configuring the other DLNA interface 238 as necessary.

In order to alias one or more types of DLNA device, the DLNA aliasingdevice 200 includes a shared interface logic module 240. The sharedinterface logic module 240 provides a common architecture of functionsused by one or more of the personality modules 228-238. In theembodiment of FIG. 4, the shared interface logic 240 includes anoptional security sub-module 242, which may be used to encrypt ordecrypt information passed through the DLNA interface 212. The securitysub-module 242 may be arranged to operate with public keys, privatekeys, seed values, or some other values in a known encryption scheme.Additionally, or in the alternative, the security sub-module 242 may beused to implement digital rights management (DRM) functions of thealiased DLNA device.

The shared interface logic 240 in FIG. 4 includes an optional userinterface (U/I) sub-module 244. The U/I sub-module 244 may provide anexternal human or computer user of the DLNA aliasing device 200 withphysical or electronic input and/or output functionality. The U/Isub-module 244 may for example configure and drive a display, a speaker,a light source, a touch screen, a microphone, buttons, switches,analog-to-digital (A/D) converters, digital-to-analog (D/A) converters,biometric sensors, and the like.

The shared interface logic 240 in FIG. 4 includes a Universal Plug andPlay (UPnP) sub-module 244. The UPnP sub-module 246 configures anddirects the network functions to identify the DLNA aliasing device 200on the network and communicate with other devices on the network. TheUPnP sub-module 246 allows the DLNA aliasing device 200 to be gracefullyadded and removed from the network.

A high level system logic module 248 is included in the DLNA interface212 of FIG. 4. The system logic module 248 provides functional logicsub-modules that can be accessed by functions outside of the DLNAinterface 212 in order to direct operations within the DLNA interface.The system logic module also provides functional logic sub-modules tocarry out the tasks of the DLNA interface 212.

An operating system (O/S) applications programming interface (API)sub-module recognizes function calls into the DLNA interface 212. Insome embodiments, the O/S API sub-module 250 executes a message pump toreceive and process incoming function calls and to generate and sendoutgoing messages, responses, or other function calls. The O/S APIsub-module 250 may receive messages that direct the DLNA interface 212to take on a particular DLNA personality (i.e., by enabling one of thepersonality modules 228-238). The O/S API sub-module 250 may receiveother messages exposing a file system of shared files to other DLNAdevices. The O/S API sub-module 250 may further pass information orcomplete messages that have been received by the DLNA interface 212 tohigher level functions in the DLNA aliasing device 200. The incomingmessages may satisfy requests for information from another external DLNAdevice. In some cases, via the system logic 248, the DLNA interface 212may be subject to programmatic control from a remote computing device.

The system logic 248 includes a hardware abstraction layer (HAL)sub-module 252. The HAL 252 is generally arranged to map particularproperties of the physical circuitry of the DLNA interface 212 such thatmodules of the DLNA interface 212 can address and control the circuitryvia the HAL 252 map. For example, a physical address of a particularmemory or I/O device of the DLNA interface 212 can be mapped to a globalvariable name in the HAL 252. When a module or sub-module of the DLNAinterface 212 communicates with the physical address, the module orsub-module uses the global variable name. In this manner, a wide rangeof DLNA aliasing devices 200 can have different underlying circuitry,and a unique HAL 252 customized to the particular underlying circuitrycan be implemented. Higher level functions in the modules andsub-modules can be common across the wide range of DLNA aliasing devices200 since they use the common global names in the HAL 252.

Other sub-modules that may be included in the system logic 248 moduleinclude a drivers sub-module 254 and a codecs sub-module 256. Thedrivers of sub-module 254 may include circuits, software, or both tocarry out certain functions of the DLNA interface 212 such as memoryinitialization, security key acquisition, user identity information,self-testing and the like. The codecs sub-module 256 may includecircuits, software, or both to encode and decode data into or from aparticular format. The codecs sub-module 256 may, for example, cooperatewith the user interface sub-module 244 to provide input or output audioprocessing for the DLNA aliasing device 200 directly for a user of theDLNA aliasing device 200. The codecs sub-module 256 may provide video,touch (such as bio-metric processing), or other coding/decodingfunctions for a user of the DLNA aliasing device 200.

The DLNA interface 212 of FIG. 4 also includes an aliasing logicinterface 258 module. The aliasing logic interface 258 provides amechanism to pass data between the DLNA interface 212 and aliasing logic220 (FIG. 3). Data bits, bytes, or other formatted structures are storedin data buffers 260. A timing sub-module 262 can be included in thealiasing logic interface 258 to coordinate the data transfer. In manycases, data is passed into the DLNA interface 212 from an external DLNAsource at a different rate than the data can be processed by the DLNAaliasing device 200 and at a different rate than the data can beconsumed by a non-DLNA external device (e.g., electronic device 300 ofFIG. 2). Accordingly, similar or different timing differences may alsooccur with data passing from the non-DLNA external device through theDLNA aliasing device 200 to an external DLNA device coupled to thenetwork. Alternatively or in addition, the timing sub-module can be usedto schedule or periodically initiate data transfers.

FIG. 5 illustrates a non-DLNA interface 216 embodiment in more detail.Non-DLNA interface 216 is comprised of modules and sub-modules. Themodules and sub-modules are formed as either physical modules thatinclude shared or dedicated hardware circuits (and software in somecases) or logical modules formed in software. The modules andsub-modules are arranged in cooperation to carry out the functions ofthe non-DLNA interface 216.

Two modules in the non-DLNA interface 216 embodiment of FIG. 5 are anI/O port communications driver 264 and a network communications driver266. The I/O port communications driver 264 is an abstraction layer thatcontrols the operations of the non-DLNA interface I/O port 218. Thenetwork communications driver 266 is an abstraction layer that controlsdata communications through the network interface 210. The operativedrivers 264, 266 of the respective ports permit data to be communicatedthrough the non-DLNA interface 216. The I/O port communications driver264 and the network communications driver 266 each provide a commoninterface or applications programming interface (API) to higher levelfunctions within the non-DLNA interface 216 or exposed to functionsoutside of the non-DLNA interface 216. The I/O port communicationsdriver 264 controls the non-DLNA interface I/O 218 port, which mayconform to any serial, serialized, or parallel communications protocol.The network communications driver 266 provides a mechanism to cooperatewith the network interface 210.

The non-DLNA interface 216 includes an aliasing logic interface module268 and a system logic module 274. The aliasing logic interface andsystem logic modules 268, 274 have corresponding modules 248, 258 in theDLNA interface 212. Accordingly, in some embodiments, the non-DLNAinterface 216 may be programmatically controlled by a remote computingdevice.

For example, the system logic module 274 in the non-DLNA interface 216of FIG. 5 provides functional logic sub-modules that can be accessed byfunctions outside of the non-DLNA interface 216. The functional logicsub-modules direct operations within the non-DLNA interface 216. Thesystem logic module 274 provides functional logic sub-modules to carryout the tasks of the non-DLNA interface 216.

An O/S API sub-module 276 recognizes function calls into the non-DLNAinterface 216. Similar to operations in the DLNA interface 212, the O/SAPI sub-module 276 may be arranged with a message pump to receive andprocess incoming function calls and to generate and send outgoingmessages, responses, or other function calls. The O/S API sub-module 276may receive messages that direct the non-DLNA interface 216 tocommunicate with a particular type of non-DLNA-enabled electronicdevice. In some embodiments, for example, the DLNA aliasing device 200can be arranged to communicate with weather stations, appliances,automobiles, GPS devices, and many other types of devices. Particularfunction calls that are passed through the O/S API sub-module 276 canidentify and configure the non-DLNA interface 216 for the chosen device.The O/S API sub-module 276 may receive other messages creating,populating, editing, and otherwise administering a file system of filesthat may be shared with DLNA-enabled devices. The O/S API sub-module 276may further pass information or complete messages that have beenreceived by the non-DLNA interface 216 to higher level functions in theDLNA aliasing device 200. The incoming messages may satisfy requests forinformation from external DLNA-enabled or non-DLNA-enabled devices.

System logic 274 is also illustrated to include a hardware abstractionlayer (HAL) sub-module 278 and a drivers sub-module 280. Usingtechniques similar to those of HAL 252 (FIG. 4), the HAL 278 of thenon-DLNA interface 216 is generally arranged to map particularproperties of the physical circuitry of the non-DLNA interface 216. Thedrivers of sub-module 280 may also be formed using techniques that arethe same or similar to the drivers of sub-module 254.

The non-DLNA interface 216 of FIG. 5 includes an aliasing logicinterface 268 module. The aliasing logic interface 268 providescorresponding functions to the aliasing logic interface 258 of DLNAinterface 212. That is, the aliasing logic 268 module provides amechanism to pass data between the non-DLNA interface 216 and aliasinglogic 220 (FIG. 3). Data is stored in data buffers 270. An optionaltiming sub-module 272, if included in the aliasing logic interface 268,coordinates data transfers that may occur between devices that havedifferent timing characteristics and additionally or alternativelypermits scheduled or periodic communication events.

The DLNA interface 212 of FIG. 4 and the non-DLNA interface 216 of FIG.5 have several corresponding modules and sub-modules. In some cases, themodules and sub-modules are completely distinct. In other cases, themodules and sub-modules of DLNA interface 212 and non-DLNA interface 216are logically separated according to their respective interface, but themodules and sub-modules physically share the same software and hardwarecircuits. For example, in some cases, a single HAL is arranged in theDLNA aliasing device 200. When the device is configured for a particularapplication, a single HAL maps all of the common and unique physicalcharacteristics of the device to an expansive set of variables (or otherlogical software constructs) that is shared throughout the device. Asanother example, both the DLNA interface 212 and the non-DLNA interface216 are illustrated as having a network communications driver module226. Typically, the DLNA aliasing device 200 will only have a singlenetwork communications driver module 226, which is shared forcommunications with DLNA-enabled devices and for communication withnetwork-ready non-DLNA devices. Other modules and sub-modules may alsoshare software and hardware circuits.

The non-DLNA interface 216 of FIG. 5 includes a communications module282. The communications module 282 has one or optionally morecommunications driver sub-modules. Illustrated in the communicationsmodule 282 of FIG. 5 are a Bluetooth sub-module 290 a, an infrared (IR)sub-module 290 b, an IEEE 1394 sub-module 290 c, a USB sub-module 290 d,an I²C sub-module 290 e, a UART sub-module 290 f, a GPIO sub-module 290g, an serial peripheral interface (SPI) sub-module 290 h, a peripheralcomponent interconnect (PCI) sub-module 290 i, and a controller areanetwork (CAN) sub-module 290 j. An “other” sub-module 290 k isconfigurable by a user for customization to a different communicationsprotocol.

A non-DLNA-enabled external electronic device may provide one or moreinterfaces for electronic communications. In some cases, the interfaceconforms to a standard protocol. In other cases, the interface includesa proprietary set of interface paths (e.g., data pins, control pins,clock pins, etc.) and a particular sequence of signals passed on theinterface paths. In such cases, the DLNA aliasing device 200 may includesoftware instructions to configure the non-DLNA interface 216 tocommunicate according to the proprietary protocol.

FIG. 6 is a detailed embodiment of aliasing logic 220. A DLNA interfacelogic module 286 is configured to communicate with the aliasing logicinterface 258 of the DLNA interface 212 (FIG. 4). A non-DLNA interfacelogic module 288 is configured to communicate with the aliasing logicinterface 268 of the non-DLNA interface 216 (FIG. 5). The aliasing logicinterfaces 286, 288 are configured to cooperate with their respectivecounterparts. Accordingly, the format, timing, streaming, packetizing,and other characteristics related to passing data, and in addition oralternative control information, is configured to match between therespective matching interfaces.

Data passing into or out from the aliasing logic 220 may be passed atdifferent rates, bandwidths, sizes, formats, error management, and thelike. For example, a UPnP network may permit data to be passed at 10Mbits/second, 100 Mbits/second, or 1 Gbits/second. Accordingly, datacommunicated through the DLNA interface 212 may be passed at anassociated rate. In contrast, data communicated to an electronic devicethrough the non-DLNA interface 216 may be communicated at a similar rateor at a different rate. That is, if the non-DLNA device is configured tocommunicate via the UPnP network, data may be passed between devicesthrough the aliasing logic 220 at a same or a similar rate.Alternatively, if the non-DLNA device is configured to communicate withthe non-DLNA device via a different path, then the rates may varywidely.

In one example, referencing FIG. 1, a SmartTV 114 communicates with aDLNA aliasing device 200 via network 112 at up to 1 Gbit/second (e.g.,gigabit Ethernet). An electronic device 300 communicates with a DLNAaliasing device 200 via a USB connection at 480 Mbits/second. In such acase, the DLNA aliasing device 200 is configured to throttle the datacommunicated between devices such that efficient communications canproceed. One aspect of data throttling occurs in the aliasing logic 220.

Aliasing logic 220 includes a storage buffer 290. In some embodiments,the storage buffer 290 is associated solely with the aliasing logic 220.In other embodiments, the storage buffer 290 is associated individuallyor in combination between the aliasing logic 220, the DLNA interface212, the non-DLNA interface 216, or some other area of the DLNA aliasingdevice 200. In one embodiment, the storage buffer 290 is physicallylocated in the memory 204 (FIG. 3).

The storage buffer may be configured as one or more individual storagebuffers. One or more sets of pointers are used to store and retrievedata within the storage buffer 290. In some cases, all or part ofstorage buffer 290 is configured as a first-in, first-out (FIFO) buffer.In such cases, one or more sets of FIFO pointers 290 a are configured.In some cases, all or part of storage buffer 290 is configured as alast-in, first-out (LIFO) buffer. In such cases, one or more sets ofLIFO pointers 290 b are configured. In still other cases, all or part ofstorage buffer 290 is configured as a straight input/output (I/O)buffer. In such cases, one or more sets of I/O pointers 290 c areconfigured.

When the DLNA aliasing device 200 is in operation, data is communicatedthrough the aliasing logic 220 via storage buffer 290. One or morepointers identify memory locations in the storage buffer 290 where datawill be written. One or more pointers identify memory locations in thestorage buffer 290 where data will be retrieved. The pointers may beupdated automatically or programmatically.

An aliasing logic control module 292 directs operations of the aliasinglogic 220. The aliasing logic control module 292 may initialize thestorage buffer 290, the storage buffer pointers 290 a-c, the interfacelogic 286, 288, a timing control module 294, a DLNA message generator296, and some or all of the modules and sub-modules in the DLNAinterface 212 and non-DLNA interface 216.

In some cases, the aliasing logic control module 292 controls pointers290 a-c and directs operations to transmit and receive data via theinterface logic 286, 288. That is, the aliasing logic control module 292may be configured to copy data through the interfaces and into and outfrom the storage buffer 290. In such cases, the aliasing logic controlmodule 292 uses pointers 290 a-c to determine where data should bewritten into storage buffer 290, and the aliasing logic control module292 uses pointers 290 a-c to determine where data should be read fromstorage buffer 290.

In other copy cases, aliasing logic control module 292 initializespointers 290 a-c and passes pointer values to one or both of the DLNAinterface 212 and non-DLNA interface 216. In these cases, logic withinthe respective interface 212, 216 read and write data according to thepointers 290 a-c.

The aliasing logic control module 292 works cooperatively with thetiming control module 294. The timing control module 294 includes one ormore clock functions. Alarms may be set in the timing control module294. When an alarm is triggered, an interrupt may be triggered to directthe aliasing logic control module 292 to perform a particular function.The alarms in some cases are configured by a user. In other cases,alarms direct periodic operations in the aliasing logic control module292.

For example, a periodic alarm may be repeatedly set (e.g., to triggerevery 10 seconds, every 30 seconds, every 5 minutes, every hour, onceper day, or some other time increment), and when the alarm triggers, thealiasing logic control module 292 may be directed to perform an update.In one embodiment, a periodic alarm directs the aliasing logic controlmodule 292 to interrogate a non-DLNA electronic device and retrieveupdated data (e.g., weather data). Upon retrieving the updated data, thealiasing logic control module 292 may then direct a media creator 222(FIG. 3) to form the data into a DLNA-formatted file. The aliasing logiccontrol module 292 may optionally trigger formation and transmission ofa message via DLNA message generator 296. The message in the embodimentis useful to inform a DLNA device coupled to the aliasing device 200that updated information is available.

The DLNA message generator 296 is directed by the aliasing logic controlmodule 292. A DLNA system follows a DLNA protocol. When the aliasinglogic control module 292 determines that particular messages are to beformed and transmitted, the DLNA message generator 296 is configured toform such messages. In many cases, the DLNA message generator 296 worksin cooperation with logic embodied in the DLNA interface 212. The DLNAmessages may include device discovery messages, control messages, errormessages, authorization messages, and other messages defined in the DLNAprotocol.

In one example, the aliasing logic control module 292 is operative tocollect data from a non-DLNA electronic device and prepare the data forpresentation on a DLNA device. In such a case, the aliasing logiccontrol module 292 may start the operation via a user control, aprogrammatic control, an inquiry from the DLNA device, an alarm fromtiming control module 294, or via some other mechanism. Upon beginningthe operation, the aliasing logic control module 292 directs thecollection of data by passing directives through the non-DLNA interfacelogic module 288 to the non-DLNA interface 216. The data is retrievedfrom the non-DLNA electronic device and stored in a first location instorage buffer 290. Pointers 290 a-c are updated accordingly.Subsequently, when some or all of the data is collected, the aliasinglogic control module 292 directs the media creator module 222 to formthe data into a DLNA media class file (Table 2). The aliasing logiccontrol module 292 may pass the data directly, or the aliasing logiccontrol module 292 may pass particular pointers that identify locationsin storage buffer 290.

In the example, the media creator 222 is directed by the aliasing logiccontrol module 292 as to the type of media class to create. The mediacreator 222 may create, for example, a JPEG image file that representsthe data collected from the non-DLNA electronic device. In some cases,the media creator is configured to create predetermined content as partof the created media class file. In one example, a colored or patternedbackground is formed in the JPEG image file. In other cases, a corporatelogo, an audio tone or compilation of tones, or other predeterminedcontent is included in the media file.

The media creator 222 is configured to prepare one or more DLNA mediaclass software files. For example, the media creator 222 is configuredto prepare one or more types of image files, audio files, andaudio/video files such as those identified in Table 2. In some cases,the media creator 222 is configured to accept input data having aparticular format. The particular format permits the media creator tocreate the DLNA media class file with a known algorithm. In other cases,the media creator 222 may be configured to dynamically receive incomingdata and directions regarding the format of the incoming data. In suchcases, the media creator may be particularly configured to dynamicallyinterpret incoming data and to encode or otherwise create the chosenmedia class file.

In some embodiments, the aliasing logic control module 292 directs themedia creator 222 as to the proper type and format of the media classfile. In some embodiments, the proper type and format of the media classfile is automatically directed by the incoming data.

Upon creation of the media file, the aliasing logic control module 292may further direct the DLNA message generator to create one or moreupdated messages to inform listening DLNA devices that the updated datahas been prepared.

FIG. 7 illustrates a non-limiting collection of electronic devices 300a-f that do not have a DLNA interface. The electronic devices of FIG. 7may each be configured with an electronic controller arranged toconfigure and operate the particular electronic device. Each of theelectronic devices 300 a-f illustrated in FIG. 7 may operate as anelectronic device 300 of FIG. 2.

A DLNA aliasing device 200 may be optionally coupled to one or more ofthe electronic devices 300 a-f illustrated in FIG. 7. In some cases, theDLNA aliasing device 200 is coupled to one electronic device only. Insome cases, the DLNA aliasing device 200 is coupled to a firstelectronic device, de-coupled from the first electronic device, and thensubsequently coupled to a second electronic device. In still othercases, the DLNA aliasing device 200 is concurrently coupled to two ormore electronic devices.

The DLNA aliasing device 200 may be manually or programmaticallyconfigured to appear on a DLNA compatible network to be a as DigitalMedia Server (DMS), a Digital Media Controller (DMC), or some other DLNAdevice. In some cases, the DLNA aliasing device 200 may appear on thenetwork as more than one type of DLNA device. A DLNA enabled device suchas a SmartTV 114 (FIG. 2) communicate information to and additionally oralternatively from an electronic device 300 a-f via the DLNA aliasingdevice 200.

In some cases, a particular status is electronically retrieved from theelectronic device via a DLNA aliasing device 200. The DLNA aliasingdevice 200 reformats the retrieved data into one or more files of aparticular DLNA media class, and the DLNA aliasing device 200 providesmessaging updates to DLNA devices attached to a network regarding theavailability of the updated data.

In some cases, a DLNA device will retrieve and present information froman electronic device, the information being generated by a DLNA aliasingdevice 200. Based on the presentation, a user of the DLNA device maywish to retrieve additional information from the electronic device orprovide control information back to the electronic device. In suchcases, certain DLNA messages from the DLNA device may be received by theDLNA aliasing device 200, and the DLNA aliasing device 200 may interpretthe messages as a request to provide control information back to theelectronic device. Several non-limiting examples of data communicationsbetween DLNA devices and non-DLNA devices are now described, and manyother types of non-DLNA devices are also contemplated.

In FIG. 7, an alarm system 300 a may operate as a non-DLNA electronicdevice. The alarm system may be a fire alarm, smoke alarm, securityalarm, or some other type of alarm. The alarm system 300 a may includeoperative control devices and sensing devices (not shown). The DLNAaliasing device 200 may interrogate a status of the alarm system 300 ato retrieve information such as armed/disarmed status, sensor faults,sensor trips, historical data, user codes, and the like. In some cases,the alarm system 300 a produces multimedia information (e.g., audio,video, and the like). The DLNA aliasing device 200 may interrogate thealarm system 300 a via a non-DLNA interface, collect data, format thedata into one or more DLNA media class files (e.g., JPEG image data,LPCM audio data, MPEG audio/video data, etc). The DLNA aliasing device200 may then inform and present the DLNA media class information to aDLNA-enabled device. In some cases, a user may provide input informationembedded in a DLNA message. The DLNA aliasing device 200 is configuredto parse an incoming DLNA message, convert the message to a formatcompatible with the alarm system 300 a, and pass the newly formattedcommand information to the alarm system 300 a. The formatted commandinformation may include arm/disarm commands, set/clear sensor statuscommands, generate status information commands, purge historic datacommands, and other commands as well.

FIG. 7 illustrates a collection of appliances 300 b. The illustratedcollection includes a laundry machine such as a washer or dryer, astove/oven appliance, a refrigerator, and a microwave oven. Suchappliances typically include embedded controllers that permit some typeof programmatic control or requests for status information. For example,certain refrigerators may be arranged to read electronic codes of fooditems stored therein. When such food items are removed for a certainperiod of time, the refrigerator may automatically determine that a needexists to replace the item. In these types of circumstances, where anappliance may have status information to present, the DLNA aliasingdevice 200 is configured to interrogate the appliance, retrieve theinformation, and present the information via a DLNA-enabled device. Asanother example, the appliance may be configured to receive controlinformation. That is, a refrigerator/freezer may be configured toprogrammatically receive cooling temperature setting information, anoven, range, or microwave may be configured to receive heatingtemperature information or timing information, and a laundry machine maybe configured to receive timing information, temperature information, anoptionally, detergent and/or fabric softener information. The DLNAaliasing device 200 is cooperatively configured to communicate databetween the non-DLNA electronic appliance 300 b and a DLNA-enableddevice.

A DLNA aliasing device 200 may also be coupled to an automotiveelectronic device 300 c. Typically, via a proprietary wireless protocolor an open network wireless protocol (e.g., BLUETOOTH), the DLNAaliasing device 200 may communicate with an electronic system of anautomobile. The DLNA aliasing device 200 may provide status informationfrom the automotive electronic device 300 c to a DLNA-enabled device.The DLNA aliasing device 200 may provide control information to theautomotive electronic device 300 c. The information may include globalpositioning system (GPS) geographic or timing information, securitysystem information, engine system information, entertainment systeminformation, remote start information, and the like. For example, in onesystem, a DLNA aliasing device 200 may be able to retrieve informationrelated to a trip previously taken or currently underway by therespective automobile. The information may be communicated via acellular link between the DLNA aliasing device 200 and the automobile. Aseries of images or multimedia data may be created to by the DLNAaliasing device 200 for presentation on a SmartTV. The presentation mayinclude moving maps illustrating the geographic position of theautomobile, satellite imagery of the location or video camera data maybe presented, audio data captured from inside the automobile may bepresented, engine statistics such as speed, fuel level, fuel efficiency,and the like may also be presented. In some cases, a user of theDLNA-enabled device may be able to pass video, audio, or textinformation as a file to the DLNA aliasing device 200, which in turnpasses the information in the same or in a different format to theautomobile.

A heating, ventilation, air conditioning (HVAC) system 300 d may becoupled to a DLNA aliasing device 200. The HVAC system 300 d may providestatus information that is re-formatted into a DLNA media class file forpresentation on a DLNA-enabled device. In one case, the DLNA aliasingdevice 200 is configured with predetermined imagery that depicts theHVAC system installed in a particular home. The DLNA aliasing device 200interrogates the HVAC system 300 d for status information such astemperature settings, vent orientation, temperature readings, and thelike. The information received from the HVAC system 300 d issuperimposed on a DLNA media class image file (e.g., JPEG file), and thecreated image file is made available for presentation via a DLNA-enableddevice. The DLNA aliasing device 200 may further receive DLNA inputmessages from the DLNA-enabled device, which the DLNA aliasing device200 interprets to control the HVAC system 300 d. In some cases, the HVACsystem 300 d includes hot water heating equipment, humidifier equipment,dehumidifier equipment, ceiling fans, and other environmental controlsystems.

FIG. 7 includes a weather station electronic device 300 e.

FIG. 7 includes one or more home automation electronic devices 300 f.The home automation electronic device 300 f illustrates an automatedelectronic window blind/shade system, a garage door system, a lightingsystem, and a sprinkler system. Other home automation systems are alsocontemplated. In a manner akin to other electronic devices 300 a-e asdescribed herein, a home automation electronic device 300 f may providestatus information that may be formatted with the DLNA aliasing device200 into one or more DLNA media class files. The created files mayinclude only information from the electronic device, or the createdfiles may also include pre-programmed data.

In some systems, certain functions of a DLNA aliasing device arepackaged in a software application that can operate on a DLNA-enableddevice. For example, a SmartTV include such an application. In such asystem, the certain DLNA aliasing device functionality may operate toreceive user input from the DLNA-enabled device and create certainDLNA-media class files. If the DLNA-enabled device is configured as anexemplary DMS, the DLNA-enabled device may make the created DLNA-mediaclass file available via the DLNA-enabled network. In such a case, aDLNA aliasing device 200 may recognize the created file, retrieve thecreated file, and parse the created file into control information thatis passed back to the electronic device 300 a-f. In such an embodiment,the system is enabled to operate as if one DLNA aliasing device iscommunicating with another DLNA aliasing device 200.

FIG. 8 is a flowchart 800 representing a system that includes operationsof at least one DLNA-enabled device 114, at least one DLNA aliasingdevice 200, and at least one electronic device 300 a-f. The operationsof the system begin at 802.

With respect to the system exemplified in FIG. 8, operations begin at802. At 804, a non-DLNA electronic device is operated. The non-DLNAelectronic device may represented as 300 a-f of FIG. 7, or the non-DLNAelectronic device may be some other type. A DLNA aliasing device iscommunicatively coupled to the non-DLNA electronic device at 806.

In some cases, the system may pend at the operations of 804, 806, oranother point. During the time the system is pending, the non-DLNAelectronic device will be operating and producing data, but the data mayor may not be retrieved by the DLNA aliasing device. Instead, the DLNAaliasing device may merely advertise the availability of data to DLNAdevices coupled to the network. In this way, processing time, power,network resources, and the like may be conserved. Subsequently, a DLNAdevice request may cause the interrogation of the non-DLNA device by thealiasing device and the creation of the data file to be delivered.

Communication may be via network or via some other communication medium.The DLNA aliasing device is configured to retrieve information from thenon-DLNA electronic device at 808, and at 810, the DLNA aliasing deviceis configured to reformat the retrieved information and create at leastone DLNA media class file. When more than one DLNA media class file iscreated, each file may conform to the same class or some files mayconform to different media classes. For example, the DLNA aliasingdevice may create one or more image files, and the DLNA aliasing devicemay concurrently or sequentially create one or more multimedia files.Via a DLNA-enabled network such as a UPnP network, the DLNA aliasingdevice communicates the DLNA media class file(s) to one or moreDLNA-enabled devices at 812.

At 814, at least one DLNA-enabled device presents the DLNA media classfile(s). A user, having taken notice of the DLNA media class file(s),may or may not provide user input. The determination of whether or notto take user input is illustrated at 816. If no user input is accepted,a determination is made at 818 as to whether or not processing willcontinue. For example, if a user is merely retrieving data from aweather station 300 e, the data may be presented on a DLNA-enabledSmartTV, and the user may then wish to terminate the operation. If theoperation is terminated, processing ends at 820. If processing is notterminated, the operations may continue at 804.

When user input is accepted at 816, processing continues to 822 wherethe user input is collected. The input may be, for example, via a remotecontrol device associated with a SmartTV. The SmartTV may generate aDLNA message, which is passed to the DLNA aliasing device andreformatted at 824. In some cases, standard DLNA messaging that occursin a particular sequence is interpreted by the DLNA aliasing device asrequesting particular action. In other cases, the DLNA-enabled device(e.g., SmartTV) includes some functionality of a DLNA aliasing device,and particular messaging is created and passed to the DLNA aliasingdevice. The particular messaging cooperates with the functions of theDLNA aliasing device. In some cases, the user input is processed only bythe DLNA aliasing device. In other cases, the user input is reformattedand passed to the non-DLNA electronic device. Upon reformatting at 824,the user input is passed to the non-DLNA electronic device. If the userinput represents control information, the non-DLNA electronic device isconfigured to act on the control information. Processing returns to 818,which determines whether or not processing should continue. If theprocessing is not required to continue, processing terminates at 820.

FIG. 8 is a flowchart illustrating one or more processes that may beused by embodiments of a system that includes DLNA-enabled devices, DLNAaliasing devices, and non-DLNA electronic devices. In this regard, eachdescribed process may represent a module, segment, or portion of code,which comprises one or more executable instructions for implementing thespecified logical function(s). It should also be noted that in someimplementations, the functions noted in the process may occur in adifferent order, may include additional functions, may occurconcurrently, and/or may be omitted.

FIGS. 1-7 illustrate portions of non-limiting embodiments of computingdevices. The computing devices include operative hardware found in aconventional computing device apparatus such as one or more centralprocessing units (CPU's) and/or digital signal processors (DSP's),volatile and non-volatile memory, communication bus architectures,serial and parallel input/output (I/O) circuitry compliant with variousstandards and protocols, wired and/or wireless networking circuitry(e.g., a communications transceiver).

As known by one skilled in the art, a computing device has one or morememories (e.g., memory 204 of FIG. 3 and buffer 290 of FIG. 6), and eachmemory comprises any combination of volatile and non-volatilecomputer-readable media for reading and writing. Volatilecomputer-readable media includes, for example, random access memory(RAM). Non-volatile computer-readable media includes, for example, readonly memory (ROM), magnetic media such as a hard-disk, an optical diskdrive, a floppy diskette, a flash memory device, a CD-ROM, and/or thelike. In some cases, a particular memory is separated virtually orphysically into separate areas, such as a first memory, a second memory,a third memory, etc. In these cases, it is understood that the differentdivisions of memory may be in different devices or embodied in a singlememory. The memory in some cases is a non-transitory computer mediumconfigured to store software instructions arranged to executed by a CPU.

The computing devices may further includes operative software found in aconventional computing device such as an operating system, softwaredrivers to direct operations through the I/O circuitry, networkingcircuitry, and other peripheral component circuitry. In addition, thecomputing devices may include operative application software such asnetwork software for communicating with other computing devices,database software for building and maintaining databases, and taskmanagement software for distributing the communication and/oroperational workload amongst various CPU's. In some cases, the computingdevices are a single hardware machine having the hardware and softwarelisted herein, and in other cases, the computing devices are a networkedcollection of hardware and software machines working together to executethe functions of the DLNA-aliasing device 200 or other devices. Someaspects of the conventional hardware and software of the computingdevices (e.g., buses, power supplies, user input/output circuits,operating systems, device drivers, and more) are not shown in thefigures for simplicity.

Certain figures included herein illustrate one or more DLNA aliasingdevices or operations therein. In some embodiments, a DLNA aliasingdevice can be controllably configured to appear as one type of DLNAdevice at one time and another type of DLNA device at another time. Insome embodiments, a DLNA aliasing device has two or more networkconnections. A single DLNA aliasing device can concurrently appear astwo or more different types of DLNA devices. In some embodiments, a DLNAaliasing device is a standalone piece of hardware having softwareincorporated therein. In other embodiments, the DLNA aliasing device isincorporated into a non-DLNA-enabled electronic device, a DLNA-enabledelectronic device, or some other electronic device. A DLNA aliasingdevice may be embodied in a single integrated circuit. Alternatively, orin addition, a DLNA aliasing device may be embodied on a die in anintegrated circuit that has the ability to perform other functions.

A network, as used herein, may be a Universal Plug and Play (UPnP)network. The network may include other non-UPnP network components. Thenetwork may include wired components, wireless components, or acombination of wired and wireless components. The network may beconfigured in a home, a neighborhood, a work environment, a restaurant,a bar, a sporting complex, an entertainment venue, or in some otherlocation. Accordingly, such network may be interchangeably described asa network or a home network.

Data that is “static,” as the term is used herein, implies data that maynot change at all and data that may change over time. Static data mayinclude a snapshot of dynamic data. For example, weather data, such astemperature, wind speed, air pressure, and the like may be static data.Serial numbers, model numbers, identifiers, and the like may also bestatic data. Static data (i.e., individual datums and a plurality ofdatums) may be stationary, motionless, immobile, constant, unmoving, ata standstill, resting, temporally steady, stable, and slowly changing.

In the foregoing description, certain specific details are set forth inorder to provide a thorough understanding of various disclosedembodiments. However, one skilled in the relevant art will recognizethat embodiments may be practiced without one or more of these specificdetails, or with other methods, components, materials, etc. In otherinstances, well-known structures associated with electronic andcomputing systems including client and server computing systems, as wellas networks have not been shown or described in detail to avoidunnecessarily obscuring descriptions of the embodiments.

Unless the context requires otherwise, throughout the specification andclaims which follow, the word “comprise” and variations thereof, suchas, “comprises” and “comprising” are to be construed in an open,inclusive sense, e.g., “including, but not limited to.”

Reference throughout this specification to “one embodiment” or “anembodiment” and variations thereof means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment. Thus, the appearances of thephrases “in one embodiment” or “in an embodiment” in various placesthroughout this specification are not necessarily all referring to thesame embodiment. Furthermore, the particular features, structures, orcharacteristics may be combined in any suitable manner in one or moreembodiments.

As used in this specification and the appended claims, the singularforms “a,” “an,” and “the” include plural referents unless the contentclearly dictates otherwise. It should also be noted that the term “or”is generally employed in its sense including “and/or” unless the contentclearly dictates otherwise.

The headings and Abstract of the Disclosure provided herein are forconvenience only and do not interpret the scope or meaning of theembodiments.

The various embodiments described above can be combined to providefurther embodiments. Aspects of the embodiments can be modified andchanges can be made to the embodiments in light of the above-detaileddescription. In general, in the following claims, the terms used shouldnot be construed to limit the claims to the specific embodimentsdisclosed in the specification and the claims, but should be construedto include all possible embodiments along with the full scope ofequivalents to which such claims are entitled. Accordingly, the claimsare not limited by the disclosure.

1. A method to communicate non-multimedia content via a standardizednetwork architecture, comprising: receiving non-multimedia data from aremote device with a standardized network aliasing device, thestandardized network aliasing device able to communicate on a networkthat conforms to a Digital Living Network Alliance (DLNA) protocol;formatting, with the standardized network aliasing device, the receivednon-multimedia data into a standardized-format file, the DLNA-formatfile conforming to a selected media class; exposing thestandardized-format file on the network that conforms to the DLNAprotocol; and communicating the standardized-format file to a remoteDLNA-enabled device coupled to the network that conforms to the DLNAprotocol.
 2. The method to communicate of claim 1, comprising:receiving, with the standardized network aliasing device, input datafrom the DLNA-enabled device; parsing the input data; and communicatingat least some of the parsed data to the remote device.
 3. The method tocommunicate of claim 1 wherein the act of exposing thestandardized-format file on the network that conforms to the DLNAprotocol includes managing a file system in a memory of the standardizednetwork aliasing device.
 4. The method to communicate of claim 1 whereinthe act of formatting the received non-multimedia data into thestandardized-format file includes generating at least one file thatconforms to a Joint Photographic Experts Group (JPEG) image file format.5. The method to communicate of claim 1 wherein the receivednon-multimedia data from the remote device is received via the networkthat conforms to the DLNA protocol.
 6. The method to communicate ofclaim 1 wherein the received non-multimedia data from the remote deviceis received via a non-networked communication medium.
 7. A DigitalLiving Network Alliance (DLNA) aliasing apparatus, comprising: a DLNAinterface; a non-DLNA interface; aliasing logic coupled to the DLNAinterface and non-DLNA interface; and a processor coupled to thealiasing logic and arranged to execute software instructions to:establish a communications link with a non-DLNA device via the non-DLNAinterface; retrieve at least one static datum from the non-DLNA device;convert the at least one static datum to a multimedia format file; andenable sharing of the multimedia format file via a DLNA protocol.
 8. TheDLNA aliasing apparatus of claim 7 wherein the DLNA apparatus isembedded in a weather station device.
 9. The DLNA aliasing apparatus ofclaim 7 wherein the multimedia format file conforms to at least oneJoint Photographic Experts Group (JPEG) image file format.
 10. The DLNAaliasing apparatus of claim 7 wherein the multimedia format fileconforms to at least one Moving Pictures Expert Group (MPEG) videoencoding protocol.
 11. The DLNA aliasing apparatus of claim 7 whereinthe processor coupled to the aliasing logic is further arranged toexecute software instructions to: communicate the multimedia format filevia the DLNA interface to a DLNA-enabled device via a Universal Plug andPlay (UPnP) network.
 12. The DLNA aliasing apparatus of claim 11 whereinthe DLNA-enabled device is configured as a Digital Media Player (DMP) orMobile Digital Media Player (M-DMP) device.
 13. The DLNA aliasingapparatus of claim 11 wherein the processor coupled to the aliasinglogic is further arranged to execute software instructions to: expose afile system structure to DLNA-enabled devices coupled to the UPnPnetwork.
 14. The DLNA aliasing apparatus of claim 7 wherein theprocessor coupled to the aliasing logic is further arranged to executesoftware instructions to: automatically transmit a DLNA acknowledgementmessage in response to a received DLNA message.
 15. The DLNA aliasingapparatus of claim 11 wherein the processor coupled to the aliasinglogic is further arranged to execute software instructions to: exposethe DLNA aliasing apparatus as a Digital Media Server (DMS) apparatus ata first time; and expose the DLNA aliasing apparatus as at least one ofa Digital Media Player (DMP), a Digital Media Renderer (DMR), and aDigital Media Controller (DMC) at a second time.
 16. A system,comprising: a Digital Living Network Alliance (DLNA) compatible network;a DLNA aliasing apparatus coupled to the DLNA compatible network; and anon-DLNA compatible device.
 17. The system of claim 16 wherein thenon-DLNA compatible device is a weather station.
 18. The system of claim16 wherein the non-DLNA compatible device is an electronic deviceselected from the group of a refrigerator, a laundry machine, and adevice configured to cook food.
 19. The system of claim 16 wherein thenon-DLNA compatible device is an electronic device associated with anautomobile.
 20. The system of claim 16 wherein the DLNA aliasingapparatus is integrated within the non-DLNA compatible device.